<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Task: Run Tests</title>
<meta name="uma.type" content="Task">
<meta name="uma.name" content="run_tests">
<meta name="uma.presentationName" content="Run Tests">
<meta name="uma.category" content="Discipline:test_discipline:Test">
<meta name="element_type" content="activity">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../css/default.css" type="text/css">
<script src="./../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../';
					var imgPath = './../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo, '', true, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top">
<div id="page-guid" value="_0jVEkMlgEdmt3adZL5Dmdw"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Task: Run Tests</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../images/task.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">Run the appropriate tests scripts, analyze results, articulate issues, and communicate test results to the team.</td>
</tr>
<tr>
<td>Disciplines: <a href="./../../core.default.cat_def.base/disciplines/test_discipline_F7EB1A7A.html" guid="_iGSHtlZ-EdyIUdvDLLUdeg">Test</a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Purpose</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell">To provide feedback to the team about how well a build satisfies the requirements.</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Roles</th><td class="sectionTableCell" width="42%"><span class="sectionTableCellHeading">Primary Performer:
								</span>
<ul>
<li>
<a href="./../../core.default.role_def.base/roles/tester_9859B590.html" guid="_0ZM4MclgEdmt3adZL5Dmdw">Tester</a>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">Additional Performers:
								</span></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Inputs</th><td class="sectionTableCell" width="42%"><span class="sectionTableCellHeading">Mandatory:
								</span>
<ul>
<li>
<a href="./../../core.tech.common.extend_supp/workproducts/test_script_39A30BA2.html" guid="_0ZfMEMlgEdmt3adZL5Dmdw">Test Script</a>
</li>
</ul>
<ul>
<li>
<a href="./../../core.tech.slot.base/workproducts/software_implementation_slot_E92F6A39.html" guid="_Vux8UEfUEdyiPI8btkmvmw">[Software Implementation]</a>
<ul>
<li>
<a href="./../../practice.tech.continuous_integration.base/workproducts/build_95D7D8FD.html" guid="_0YuXEMlgEdmt3adZL5Dmdw">Build</a>
</li>
<li>
<a href="./../../core.tech.common.extend_supp/workproducts/implementation_AFFEFC46.html" guid="_JqYbgJ01EdyQ3oTO93enUw">Implementation</a>
</li>
</ul>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">Optional:
								</span>
<ul>
<li>None</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Outputs</th><td class="sectionTableCell" colspan="2">
<ul>
<li>
<a href="./../../core.tech.common.extend_supp/workproducts/test_log_CBA2FDF4.html" guid="_0ZlSsMlgEdmt3adZL5Dmdw">Test Log</a>
</li>
</ul>
<ul></ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Steps</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="sectionTableSingleCell">
<div class="stepHeading">Review work items completed in the build</div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td>Review work items that were integrated into the build since the last test cycle. Focus on identifying any previously
unimplemented or failing requirements are now expected to meet the conditions of satisfaction.</td>
</tr>
</table>
</div>
<div class="stepHeading">Select Test Scripts</div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><p>
    Select test scripts related to work items completed in the build.
</p>
<p>
    Ideally, each test cycle should execute all test scripts, but some types of tests are too time-consuming to include in
    each test cycle. For manual or time-intensive tests, include test scripts that will provide the most useful feedback
    about the maturing solution based on the objectives of the iteration.
</p>
<p>
    Plan with test suites to&nbsp;simplify the process of selecting tests for each build (see <a class="elementLinkWithType" href="./../../core.tech.common.extend_supp/guidances/guidelines/test_suite_D54EEBED.html" guid="_0aDz0MlgEdmt3adZL5Dmdw">Guideline: Test Suite</a>).
</p></td>
</tr>
</table>
</div>
<div class="stepHeading">Execute Test Scripts against the build</div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><p>
    Run the tests using the step-by-step procedure in the <a class="elementLink" href="./../../core.tech.common.extend_supp/workproducts/test_script_39A30BA2.html" guid="_0ZfMEMlgEdmt3adZL5Dmdw">Test Script</a>.
</p>
<p>
    For automated test scripts, initiate the test execution.&nbsp;Automated test scripts should run in suites in the
    correct sequence, and collect results in the Test Log.
</p>
<p>
    To execute a manual test script, establish its preconditions, perform the steps while logging results in the <a class="elementLink" href="./../../core.tech.common.extend_supp/workproducts/test_log_CBA2FDF4.html" guid="_0ZlSsMlgEdmt3adZL5Dmdw">Test Log</a>, and perform any teardown steps.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading">Analyze and communicate test results</div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><p>
    Post the test results in a conspicuous place that is accessible to the entire team, such as a white board or wiki.
</p>
<p>
    For each failing test script, analyze the Test Log to identify the cause of the test failure. Begin with failing tests
    that you expected to begin passing against this build, which may indicate newly delivered work items that do not meet
    the conditions of satisfaction. Then review previously passing test scripts that are now failing, which may indicate
    regressive issues in the build.
</p>
<ul>
    <li>
        If a test failed because the solution does not meet the conditions of satisfaction for the test case, log the issue
        in the Work Items List. In the work item, clearly identify the observed behavior, the expected behavior, and steps
        to repeat the issue. Note which failing test initially discovered the issue.
    </li>
    <li>
        If a test failed because of a change in the system (such as a user-interface change), but the implementation still
        meets the conditions of satisfaction in the test case, update the test script to pass with the new implementation.
    </li>
    <li>
        If a test failed because the test script is incorrect (a false negative result) or passed when it was expected to
        fail (a false positive result), update the test script to correctly implement the conditions of satisfaction in the
        test case. If the test case for a requirement is invalid, create a request change to modify the conditions of
        satisfaction for the requirement.&nbsp;
    </li>
</ul>
<p>
    It's best to update test scripts as quickly and continuously as possible. If the change to the test script is trivial,
    update the test while analyzing the test results. If the change is a non-trivial task, submit it to the Work Items List
    so it can be prioritized against other tasks.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading">Provide feedback to the team</div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><p>
    Summarize and provide feedback to the team about how well the build satisfies the requirements planned to the
    iteration. Focus on measuring progress in terms of passing tests.
</p>
<p>
    Explain the results for the test cycle&nbsp;in the context of overall trends:
</p>
<ul>
    <li>
        How many tests were selected for the build, and what&nbsp;are their statuses (pass, fail, blocked, not run, etc.)?
    </li>
    <li>
        How many issues were added to the Work Items List, and what are their statuses and severities?
    </li>
    <li>
        For test scripts that were blocked or skipped, what are the main reasons (such as known issues)?
    </li>
</ul></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Key Considerations</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><ul>
    <li>
        Run all tests as frequently as possible. Ideally, run all test scripts against each build deployed to the test
        environment. If this is impractical, run regression tests for existing functionality, and&nbsp;focus the test cycle
        on work items completed in the new build.
    </li>
    <li>
        Even test scripts that are expected to fail provide valuable feedback. However, once a test script is passing, it
        should not fail&nbsp;against subsequent builds of the solution.
    </li>
</ul></td>
</tr>
</table>
</div>
<div class="sectionHeading">More Information</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Guidelines</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../core.tech.common.extend_supp/guidances/guidelines/maintaining_automated_test_suite_13EF3D5.html" guid="_0kF5kMlgEdmt3adZL5Dmdw">Maintaining Automated Test Suites</a>
</li>
<li>
<a href="./../../core.tech.common.extend_supp/guidances/guidelines/programming_automated_tests_7DA10019.html" guid="_0j5sUMlgEdmt3adZL5Dmdw">Programming Automated Tests</a>
</li>
<li>
<a href="./../../core.tech.common.extend_supp/guidances/guidelines/test_suite_D54EEBED.html" guid="_0aDz0MlgEdmt3adZL5Dmdw">Test Suite</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
